【20年品牌建站】找北京网站建设公司就选新鸿儒/提供北京网站建设报价/北京网站制作/北京网站设计/网站开发、北京网站建设公司电话【010-51267718】有优惠哦!
简体
繁体 简体
我们的服务遍布中国

我们的服务遍布中国
乃至世界

新鸿儒所服务的品牌地域与城市
北京 天津 上海 广州 深圳 香港 厦门 江苏 浙江 山东
重庆 长沙 武汉 成都 西安 宁夏 丽江 青海 云南 乌鲁木齐
黑龙江 内蒙古 河北 ...
新鸿儒服务与合作的全球各地
美国 加拿大 德国 法国 英国 瑞士 意大利 荷兰
印度 日本 韩国 ...

不论你的品牌在何处
我们都可以提供完善的服务与帮助

致电

010-51267718

《高性能网站建设指南》阅读笔记_规则13- 配置ETag

发布时间:2013-11-22 浏览:128打印字号:

ETag:实体标签,是web服务器和浏览器用于确认缓存组件的有效性的一种机制。是唯一标识了一个组件的一个特定版本的字符串.IIS上的ETag格式是FiletimestampChangeNumber即;时间戳和跟踪IIS配置变化的计数器组成的字符串。

工作机制:

前面提到过,检测组件是否有效时,是通过Web服务器与客户端缓存的组件进行匹配的。有两种方式:

--比较最新修改日期

原始服务器通过的Last-Modified响应头来返回组建的最新修改日期,浏览器通过If-Modefied-since进行比较判断,如果匹配则返回304not Modefied),避免了200请求

-- 比较ETag实体标签

服务器传递客户端组件一个ETag,如:

服务器发送ETag:"10c24bc-4ab-457e1c1f"

此后,如果浏览器验证该组件,则会使用If-None-Match头将ETag传回原始服务器,如:

浏览器发送If-None-Match:"10c24bc-4ab-457e1c1f"

如果相同,则服务器返回304 Not Modified

如果不相同,则服务器重新向浏览器发送该组件。                           

如果一个网站有多台服务器,那么,对于完全相同的组件,从一台服务器到另一台服务器,IIS产生的ETag是不会匹配的。就是说如果有10台服务器,用户得到正确304响应的几率只有10%,其余的90%都会得到200响应并下载所有的数据,

需要注意的是:ETag的服务器返回(If-None-Match)比最新修改日期的返回(If-Modified-Since)具有更高的优先级。如果同时存在,则会禁止返回304 Not Modified

建议:

ETag只用在单个服务器的网站上,在多服务器的网站上,可以修改ETag格式(如:IIS中实现从ETag中移除ChangeNumber,只留时间戳),但这样和Last-Modified头是等效的。所以最好将ETag完全移除,已避免组件的重复下载。

如何在IIS中移除ETag,参考:

http://support.microsoft.com/?id=922733

http://support.microsoft.com/?id=922703

现在就与新鸿儒客服交流

010-51267718

您也可进行在线咨询或预约项目顾问
我要预约
在线咨询